/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.ita.model.loja;
import br.ita.model.exceptions.ProductLimitExceededException;
import br.ita.model.exceptions.ProductNotFoundException;
import integration.BuscaPe.ProductEntityJson;
import java.util.ArrayList;
/**
 *
 * @author Abraao
 */
public class Loja {
    ArrayList<ProductEntityJson> produtos;
    int limitProduct = 6;
    public Loja()
    {
        produtos = new ArrayList<ProductEntityJson>();
    }
    public Loja(int limit)
    {
        produtos = new ArrayList<ProductEntityJson>();
        limitProduct  = limit;
    }
    
    
    public boolean hasProducts()
    {
        return produtos.size()!=0;
    }
    
    public void addProduct(ProductEntityJson p) throws ProductLimitExceededException
    {
        for(ProductEntityJson q:produtos)
        {
            if ((long)q.getId()== (long)p.getId())
                //produto ja existe
                return;
        }
        if(numProducts()==limitProduct)
            throw new ProductLimitExceededException();
        produtos.add(p);
    }
    
    public int numProducts()
    {
        return produtos.size();
    }
    
    public void removeProduct (long idProduto) throws ProductNotFoundException 
    {
        for(int i = 0; i < produtos.size(); i++)
        {
            if(produtos.get(i).getId() == idProduto)
            {
                produtos.remove(i);
                return;
            }
        }
        throw new ProductNotFoundException();
    }
   public ArrayList<ProductEntityJson> getProductList()
   {
       return produtos;
   }
}
